package ru.niir.goodfil.exceptions;

/**
 * Исключение возникает, когда в функцию передается идентификатор несуществующего объекта
 */
public class InvalidIdException extends GoodfilRuntimeException
{
    /**
     * Наименование класса, экземпляра которого с указанным идентификатором не существует в БД
     */
    private final String className;

    /**
     * Строковое представление идентификатора
     */
    private final String id;

    /**
     * Конструктор
     * @param klass класс, экземпляра которого с указанным идентификатором не существует в БД
     * @param id идентификатор
     */
    public InvalidIdException(Class klass, Object id)
    {
        super("Thereis no item of type " + klass.getSimpleName() + " with id: " + id);

        this.className = klass.getSimpleName();
        this.id = String.valueOf(id);
    }

    /**
     * Возвращает наименование класса, экземпляра которого с указанным идентификатором не существует в БД
     * @return наименование класса, экземпляра которого с указанным идентификатором не существует в БД
     */
    public String getClassName()
    {
        return className;
    }

    /**
     * Строковое представление идентификатора
     * @return строковое представление идентификатора
     */
    public String getId()
    {
        return id;
    }
}
